Apache JServ Protocol

The Apache JServ Protocol (AJP) is a binary protocol that can proxy inbound requests from a web server through to an application server that sits behind the web server. It also supports some monitoring in that the web server can ping the application server. Web implementors typically use AJP in a load-balanced deployment where one or more front-end web servers feed requests into one or more application servers. Sessions are redirected to the correct application server using a routing mechanism wherein each application server instance gets a name (called a route).

AJP runs in Apache HTTP Server 1.x using the mod_jk plugin and in Apache 2.2 using the provided Proxy AJP, mod_proxy and proxy balancer modules together. The Apache server is written in C and the application-server end is generally written in Java.

Both the Apache Tomcat servlet container as well as the Jetty servlet container support AJP. The WebObjects application server can run (without a servlet deployment) using the LEWOAJPAdaptor from LEWOStuff.

External links